﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПоказателиСхемМотивацииКлиент
	{

		public object ТипыПоказателейСОграничениемВида(/**/)
		{
			//ТипыПоказателей = Новый Массив;
			//ПоказателиСхемМотивацииПереопределяемый.ДополнитьТипыПоказателейСОграничениемВида(ТипыПоказателей);
			return null;
		}
		// ТипыПоказателейСОграничениемВида

		public object ТипыПоказателейСОграничениемВозможностиИзменения(/**/)
		{
			//ТипыПоказателей = Новый Массив;
			//ТипыПоказателей.Добавить(Перечисления.ТипыПоказателейСхемМотивации.ТарифныйРазряд);
			//ПоказателиСхемМотивацииПереопределяемый.ДополнитьТипыПоказателейСОграничениемВозможностиИзменения(ТипыПоказателей);
			return null;
		}
		// ТипыПоказателейСОграничениемВозможностиИзменения

		public object ПоказателиУчетаВремени(/**/)
		{
			//Показатели = Новый Массив;
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.ВремяВДнях);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.ВремяВКалендарныхДнях);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.ВремяВЧасах);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.КалендарныхДнейВмесяце);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.НормаВремениВДнях);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.НормаВремениВЧасах);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.ОтработаноВремениВДнях);
			//Показатели.Добавить(Справочники.ПоказателиСхемМотивации.ОтработаноВремениВЧасах);
			//ПоказателиСхемМотивацииПереопределяемый.ДополнитьПоказателиУчетаВремени(Показатели);
			return null;
		}
		// ПоказателиУчетаВремени
		////////////////////////////////////////////////////////////////////////////////
		// Процедуры, функции для работы формы элемента

		public object ПроверкаНаДублированиеИдентификатора(/*Отказ, ЭтотОбъект*/)
		{
			/*Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ПоказателиСхемМотивации.Идентификатор
	|ИЗ
	|	Справочник.ПоказателиСхемМотивации КАК ПоказателиСхемМотивации
	|ГДЕ
	|	ПоказателиСхемМотивации.Идентификатор = &Идентификатор
	|	И ПоказателиСхемМотивации.Ссылка <> &Ссылка");*/
			//Запрос.УстановитьПараметр("Идентификатор", ЭтотОбъект.Идентификатор);
			//Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
			//Выборка = Запрос.Выполнить().Выбрать();
			//Отказ = Выборка.Количество()>0;
			if(true/*Отказ*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Показатель с таким идентификатором уже существует!", Отказ);
			}
			return null;
		}

		public void ПроверитьЗаполнениеПоказателя(/*Отказ, ЭтаФорма*/)
		{
			//Идентификатор 		= ЭтаФорма.Идентификатор;
			//Предопределенный	= ЭтаФорма.Предопределенный;
			//ТипПоказателя		= ЭтаФорма.ТипПоказателя;
			//ВозможностьИзменения= ЭтаФорма.ВозможностьИзменения;
			//ВидПоказателя		= ЭтаФорма.ВидПоказателя;
			if(true/*НЕ ЗначениеЗаполнено(ЭтаФорма.Наименование)*/)
			{
				//Отказ = Истина;
				//ОбщегоНазначения.СообщитьОбОшибке("Необходимо задать наименование показателя!", Отказ);
			}
			if(true/*НЕ ЗначениеЗаполнено(Идентификатор)*/)
			{
				//Отказ = Истина;
				//ОбщегоНазначения.СообщитьОбОшибке("Необходимо задать идентификатор показателя!", Отказ);
			}
			if(true/*Не Предопределенный*/)
			{
				if(true/*НЕ ЗначениеЗаполнено(ТипПоказателя)*/)
				{
					//Отказ = Истина;
					//ОбщегоНазначения.СообщитьОбОшибке("Необходимо задать тип показателя!", Отказ);
				}
				if(true/*ТипПоказателя <> Перечисления.ТипыПоказателейСхемМотивации.Стаж И НЕ ЗначениеЗаполнено(ВозможностьИзменения) И НЕ (ПоказателиСхемМотивацииПереопределяемый.ДопустимыйТипПоказателя(ТипПоказателя))*/)
				{
					//Отказ = Истина;
					//ОбщегоНазначения.СообщитьОбОшибке("Необходимо задать порядок ввода показателя!", Отказ);
				}
				if(true/*НЕ ЗначениеЗаполнено(ВидПоказателя)*/)
				{
					//Отказ = Истина;
					//ОбщегоНазначения.СообщитьОбОшибке("Необходимо задать назначение показателя!", Отказ);
				}
				//ПоказателиСхемМотивацииПереопределяемый.ВыполнитьДополнительныеПроверки(Отказ, ЭтаФорма);
			}
		}
		//ПроверитьЗаполнениеПоказателя

		public void ПолучитьИдентификатор(/*СтрНаименование, Идентификатор*/)
		{
			if(true/*Не ЗначениеЗаполнено(Идентификатор)*/)
			{
				//Разделители	=  " .,+,-,/,*,?,=,<,>,(,)%!@#$%&*""№:;{}[]?()\|/`~'^_";
				//Идентификатор = "";
				//БылСпецСимвол = Ложь;
			}
		}
		//ПолучитьИдентификатор

		public void УстановитьДоступныеДляВводаНазначения(/*ЭтаФорма*/)
		{
			/*// Доступные значения реквизита "ВозможностьИзменения"
*/
			//СписокВозможностейИзменения = Новый СписокЗначений;
			//ПоказателиСхемМотивацииПереопределяемый.ДополнитьСписокВозможностейИзменения(СписокВозможностейИзменения, ЭтаФорма);
			if(true/*ЭтаФорма.ВидПоказателя <> Перечисления.ВидыПоказателейСхемМотивации.Индивидуальный*/)
			{
				//СписокВозможностейИзменения.Добавить(Перечисления.ИзменениеПоказателейСхемМотивации.Периодически);
			}
			//ЭтаФорма.ЭлементыФормы.ВозможностьИзменения.ДоступныеЗначения = СписокВозможностейИзменения;
		}

		public object ЭтоШкала(/*ТипПоказателя*/)
		{
			//Возврат ТипПоказателя = Перечисления.ТипыПоказателейСхемМотивации.ОценочнаяШкалаЧисловая Или ТипПоказателя = Перечисления.ТипыПоказателейСхемМотивации.ОценочнаяШкалаПроцентная;
			return null;
		}

		public void ПроверкаТарифнойСтавки(/*ТипПоказателя, ВозможностьИзменения, ТарифнаяСтавка*/)
		{
			//ПоказательЭтоШкала = ЭтоШкала(ТипПоказателя);
			if(true/*ТарифнаяСтавка И ВозможностьИзменения <> Перечисления.ИзменениеПоказателейСхемМотивации.НеИзменяется ИЛИ ПоказательЭтоШкала Или ТипПоказателя = Перечисления.ТипыПоказателейСхемМотивации.Процентный*/)
			{
				//ТарифнаяСтавка = Ложь;
			}
		}

		public void ФормаЭлементаУстановитьДоступностьЭУ(/*ЭтаФорма*/)
		{
			//ЭлементыФормы 		= ЭтаФорма.ЭлементыФормы;
			//Предопределенный	= ЭтаФорма.Предопределенный;
			//ТипПоказателя		= ЭтаФорма.ТипПоказателя;
			//ВозможностьИзменения= ЭтаФорма.ВозможностьИзменения;
			//ВидПоказателя		= ЭтаФорма.ВидПоказателя;
			//ПоказательЭтоШкала = ЭтоШкала(ТипПоказателя);
			//ЭлементыФормы.ТипПоказателя.ТолькоПросмотр				= Предопределенный;
			//ЭлементыФормы.ТипПоказателя.АвтоОтметкаНезаполненного	= Не (Предопределенный Или ЗначениеЗаполнено(ТипПоказателя));
			//ЭлементыФормы.ТипПоказателя.ОтметкаНезаполненного		= Не (Предопределенный Или ЗначениеЗаполнено(ТипПоказателя));
			//ЭлементыФормы.ВидПоказателя.ТолькоПросмотр				= Предопределенный Или ПоказательЭтоШкала Или ТипыПоказателейСОграничениемВида().Найти(ТипПоказателя) <> Неопределено;
			//ЭлементыФормы.ВидПоказателя.АвтоОтметкаНезаполненного	= Не ПоказательЭтоШкала;
			//ЭлементыФормы.ВидПоказателя.ОтметкаНезаполненного		= Не (ПоказательЭтоШкала Или ЗначениеЗаполнено(ВидПоказателя) Или Предопределенный);
			//ЭлементыФормы.ВозможностьИзменения.ТолькоПросмотр			= Предопределенный Или ПоказательЭтоШкала Или ТипыПоказателейСОграничениемВозможностиИзменения().Найти(ТипПоказателя) <> Неопределено;
			//ЭлементыФормы.ВозможностьИзменения.АвтоОтметкаНезаполненного= Не ПоказательЭтоШкала;
			//ЭлементыФормы.ВозможностьИзменения.ОтметкаНезаполненного	= Не (ПоказательЭтоШкала Или ЗначениеЗаполнено(ВозможностьИзменения) Или Предопределенный);
			//ЭлементыФормы.ТарифнаяСтавка.Доступность = Не Предопределенный;
			//ЭлементыФормы.ПанельДанных.Страницы.ШкалаОценки.Видимость = ПоказательЭтоШкала;
		}

		public void ФормаЭлементаУстановитьВозможностьИзменения(/*Значение, ЭтаФорма*/)
		{
			//ВозможностьИзменения= ЭтаФорма.ВозможностьИзменения;
			if(true/*(Значение = Перечисления.ВидыПоказателейСхемМотивации.Общий Или Значение = Перечисления.ВидыПоказателейСхемМотивации.ПоПодразделению) И
	ВозможностьИзменения <> Перечисления.ИзменениеПоказателейСхемМотивации.Ежемесячно*/)
			{
				//ВозможностьИзменения = Перечисления.ИзменениеПоказателейСхемМотивации.Ежемесячно;
			}
		}

		public void ФормаЭлементаПриОткрытии(/*ЭтаФорма*/)
		{
			//СоставШкалы 	= ЭтаФорма.СоставШкалы;
			//ЭлементыФормы 	= ЭтаФорма.ЭлементыФормы;
			//СоставШкалы.Отбор.ШкалаОценкиПоказателя.Значение = ЭтаФорма.Ссылка;
			//СоставШкалы.Отбор.ШкалаОценкиПоказателя.Использование = Истина;
			//СоставШкалы.Прочитать();
			if(true/*ЭтаФорма.ТарифнаяСтавка*/)
			{
				//Расшифровка = "Однажды введенное в кадровом документе значение такого показателя может быть использовано несколькими плановыми начислениями (удержаниями) работника";
			}
			//ЭлементыФормы.НадписьРасшифровкаТарифнаяСтавка.Заголовок = Расшифровка;
			//ЭлементыФормы.НадписьРасшифровкаТарифнаяСтавкаВалюта.Заголовок = Расшифровка;
			if(true/*ЭтаФорма.Ссылка = Справочники.ПоказателиСхемМотивации.Стаж*/)
			{
				//ЭлементыФормы.НадписьРасшифровкаСтажа.Заголовок = "Значением данного показателя будет являться количество месяцев с момента приема на работу сотрудника по месяц расчета заработной платы.";
			}
			//УстановитьДоступныеДляВводаНазначения(ЭтаФорма);
		}

		public void ФормаЭлементаПриЗаписи(/*Отказ, ЭтаФорма*/)
		{
			if(true/*ЭтаФорма.СоставШкалы.Модифицированность()*/)
			{
				//ЭтаФорма.СоставШкалы.Отбор.ШкалаОценкиПоказателя.Значение = ЭтаФорма.Ссылка;
				if(true/*Не Отказ*/)
				{
					//ЭтаФорма.СоставШкалы.Записать();
					//ПоказателиСхемМотивацииПереопределяемый.ОбновитьФормулыПВРсПоказателямиШкала(ЭтаФорма.Ссылка);
				}
			}
			//ПроверитьЗаполнениеПоказателя(Отказ, ЭтаФорма);
			if(true/*Не Отказ*/)
			{
				//ПроверкаНаДублированиеИдентификатора(Отказ, ЭтаФорма.ЭтотОбъект);
			}
		}

		public void ФормаЭлементаПослеЗаписи(/*ЭтаФорма*/)
		{
			//Оповестить("ЗаписанНовыйПоказатель");
		}

		public void ФормаЭлементаПередЗаписью(/*Отказ, ЭтаФорма*/)
		{
			//НовыйОбъект =  ЭтаФорма.ЭтоНовый();
			if(true/*ЭтаФорма.ТипПоказателя <> Перечисления.ТипыПоказателейСхемМотивации.Денежный*/)
			{
				//ЭтаФорма.Валюта = Справочники.Валюты.ПустаяСсылка();
			}
		}

		public void ФормаЭлементаНаименованиеПриИзменении(/*Элемент, ЭтаФорма*/)
		{
			//ПолучитьИдентификатор(Элемент.Значение, ЭтаФорма.Идентификатор);
		}

		public void ФормаЭлементаТарифнаяСтавкаПриИзменении(/*Элемент, ЭтаФорма*/)
		{
			if(true/*ЭтаФорма.ТарифнаяСтавка*/)
			{
				//Расшифровка = "Однажды введенное в кадровом документе значение такого показателя может быть использовано несколькими плановыми начислениями (удержаниями) работника";
			}
			//ЭтаФорма.ЭлементыФормы.НадписьРасшифровкаТарифнаяСтавка.Заголовок = Расшифровка;
			//ЭтаФорма.ЭлементыФормы.НадписьРасшифровкаТарифнаяСтавкаВалюта.Заголовок = Расшифровка;
		}

		public void ФормаЭлементаВидПоказателяПриИзменении(/*Элемент, ЭтаФорма*/)
		{
			//УстановитьДоступныеДляВводаНазначения(ЭтаФорма);
			//ПоказателиСхемМотивацииКлиент.ПроверкаТарифнойСтавки(ЭтаФорма.ТипПоказателя, ЭтаФорма.ВозможностьИзменения, ЭтаФорма.ТарифнаяСтавка);
		}
	}
}
